#ifndef KRAWAPP_H
#define KRAWAPP_H

#include "kernel/nautoref.h"

#include "kraw/kraw3d.h"

//------------------------------------------------------------------------------

class Kraw3D;
class Kraw3DMaterial;
class Kraw3DInput;

class KrawApp
{
public:
    
    KrawApp();

    virtual bool Open();
    virtual void Close();
    virtual void Tick( float );
    virtual void Draw();

    bool IsDone() { return bIsDone; }

    Model* LoadModel( const char*, const char* );
    void UnloadModel( Model* );

private:

    nAutoRef<Kraw3D> ref3DServer;
    Kraw3DInput* input;
    Display display;
    View view;
    nArray<Model> models;

    bool bIsDone;

    //TODO- move to FlyCamInput
    vector3 eye;
    float speed;
    float yaw;
    float pitch;

    //nRef<nSceneNode> refScene;//scene root
};

//------------------------------------------------------------------------------

#endif /*KRAWAPP_H*/
